inspector: Stop using gdk_surface_get_user_data
authorMatthias Clasen <mclasen@redhat.com>
Sat, 23 Feb 2019 21:51:51 +0000 (16:51 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Sun, 24 Feb 2019 03:24:50 +0000 (22:24 -0500)
Use gtk_root_get_for_surface instead.

gtk/inspector/inspect-button.c

index 7297db3043e894b4235b13f402388bffffe4d6dc..6b28299e8ef7ced5ec653b9a65b77e3f258535bb 100644 (file)
@@ -36,6 +36,7 @@
 #include "gtkgesturemultipress.h"
 #include "gtkeventcontrollermotion.h"
 #include "gtkeventcontrollerkey.h"
+#include "gtkroot.h"
 
 static GtkWidget *
 find_widget_at_pointer (GdkDevice *device)
@@ -46,31 +47,7 @@ find_widget_at_pointer (GdkDevice *device)
   pointer_surface = gdk_device_get_surface_at_position (device, NULL, NULL);
 
   if (pointer_surface)
-    {
-      gpointer widget_ptr;
-
-      gdk_surface_get_user_data (pointer_surface, &widget_ptr);
-      widget = widget_ptr;
-
-      if (!GTK_IS_WINDOW (widget))
-        {
-          while (TRUE)
-            {
-              GdkSurface *parent = gdk_surface_get_parent (pointer_surface);
-
-              if (!parent)
-                break;
-
-              pointer_surface = parent;
-              gdk_surface_get_user_data (pointer_surface, &widget_ptr);
-              widget = widget_ptr;
-
-              if (GTK_IS_WINDOW (widget))
-                break;
-            }
-
-        }
-    }
+    widget = gtk_root_get_for_surface (pointer_surface);
 
   if (widget)
     {